package work20241219;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

/**
 * @author zdl
 * @date 2024/12/19
 */
public class Demo4 {
    public static void main(String[] args) {
        //练习：统计一个文件夹中每种文件的个数并打印（考虑子文件夹）
        File file = new File("D:/test");
        Map<String,Integer> map = new HashMap<>();
        test(file,map);
    }
    public static void   test(File file,Map<String,Integer> map){
        File[] files = file.listFiles();
        for (File file1 : files) {
            if (file1.isFile()){
                String name = file1.getName();
                String fileLastName = name.substring(name.lastIndexOf(".")+1);
                if (!map.containsKey(fileLastName)){
                    map.put(fileLastName,1);
                    //System.out.println("目录:"+file.getAbsolutePath()+"下的文件类型统计:"+map);
                }else {
                    Integer integer = map.get(fileLastName);
                    integer++;
                    map.put(fileLastName,integer);
                    //System.out.println("目录:"+file.getAbsolutePath()+"下的文件类型统计:"+map);
                }
            }else {
                test(file1,map);
            }
        }
        System.out.println("目录:"+file.getAbsolutePath()+"下的文件类型统计:"+map);
    }
}
